package edu.ctbu.insurance.mapper;

import edu.ctbu.insurance.bean.Customer;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author djl
 * @since 2024-06-28
 */
public interface CustomerMapper extends BaseMapper<Customer> {
    /**
     * 既可以查询所有客户信息，也可以按customer_name和customer_phone模糊查询客户信息
     * @param customerName 客户姓名
     * @param customerPhone 客户电话号码
     * @return 返回对应客户信息List
     */
    List<Customer> getAllCustomerLikeNameAndPhone(@Param("customerName") String customerName,@Param("customerPhone") String customerPhone);

    /**
     * 根据customer_id删除，就是将对应delete_flag设置为0
     * @param customerId 客户ID
     * @return 成功返回1，失败返回0
     */
    int deleteCustomerById(String customerId);

    /**
     * 查询所有软删除客户信息，并按删除时间降序
     * @return 所有软删除客户信息
     */
    List<Customer> getDeletedCustomer();

    Customer findCustomerByCustomerId(String customerId);
}
